package com.wyiot.pet.model.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.wyiot.core.api.PageQuery;
import com.wyiot.core.enums.OrderStatusEnum;
import com.wyiot.core.enums.TransportationEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 订单详请vo
 *
 * @author yly
 * @since 2022年04月01日
 */
@Data
public class OrderDetailVO extends PageQuery {
    /**
     * 订单id
     */
    private Long orderId;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 寄件人id
     */
    private Long userId;
    /**
     * 寄件人姓名
     */
    private String userName;
    /**
     * 寄件人手机号
     */
    private String userPhone;
    /**
     * 寄件地址城市
     */
    private String sendAddressCity;
    /**
     * 寄件地址详情
     */
    private String sendAddressDetail;
    /**
     * 收件人姓名
     */
    private String receiverName;
    /**
     * 收件人电话
     */
    private String receiverPhone;
    /**
     * 收件人地址城市
     */
    private String receiverAddressCity;
    /**
     * 收件人地址详情
     */
    private String receiverAddressDetail;
    /**
     * 运输方式
     */
    private TransportationEnum orderTransportation;
    /**
     * 订单状态
     */
    private OrderStatusEnum orderState;
    /**
     * 订单金额
     */
    private int orderAmount;
    /**
     * 订单创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 开始上门取件时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date orderDoorBeginTime;
    /**
     * 结束上门时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date orderDoorEndTime;
    /**
     * 预计到达时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date expectedDeliveryTime;
    /**
     * 订单完成时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date orderEndTime;
    /**
     * 取消时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date orderCancelTime;
    /**
     * 申请退款时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date applyRefundTime;
    /**
     * 退款时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date refundTime;
    /**
     * 下单
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date payTime;

    private List<WayBillPetVO> wayBillPetVOS;
    /**
     * 揽件员id
     */
    private Long orderTakeMan;
    /**
     * 揽件员姓名
     */
    private String takeManName;
    /**
     * 揽件员电话
     */
    private String takeManPhone;

}
